# -*- coding: utf-8 -*-
# Author: xiantingDeng
# File: 01_字符操作.py
# Time: 21:44
'''

name = "hello world this name method world"
print(name.split())

# 下标从0开始取

# 【起始位置：终止位置：步长】
# 倒序
# print(name[-1:0:-1])
# print(name[-1::-1])
# print(name[::-1])

# 字符串操作

# 查找 find 找到字符串的下标，找到就是有数字显示，未找到是-1
print(name.find("klas"))
# 查找rfind从右边开始查找
print(name.rfind("k"))
# 查找字符串，如果没有找到则报错
print(name.index("s"))
# 统计count，查找出现的次数,不存在则返回0
print(name.count("e",0,12)) # 从第一个字符到12个字符之间查找
# 替换replace,从左边往右边替换
print(name.replace("world","World",1)) # 1 替换的次数，默认全部替换
# 切割split,切割变成list列表
print(name.split(" ")) # ['hello', 'world', 'this', 'name', 'method', 'world']
# 第一个字母大写title
print(name.title())
# 字符串的第一个字母大写
print(name.casefold())
# 以什么开头starswith
filename = "xxx.txt"
print(filename.startswith("xxx"))
# 以什么结尾endswith
print(filename.endswith(".txt"))
# 把所有字母变成小写 lower()
print(name.lower())
# 把所有字母都变成大写 upper()
print(name.upper())
# ljust 左对齐 使用空格填充至长度形成新的字符串，不够则用空格填充，够了就不用
ljust = "hello"
print(ljust.rjust(10))
# center 右对齐，使用空格填充至长度形成新的字符串，不够则用空格填充，够了就不用
print(ljust.center(10))
# lstrip删除左边的空白字符
test = "   xiang peinikandahai    "
print(test.lstrip())
# rstrip 删除右边的空白字符
print(test.rstrip())
# strip 删除两边空格
print(test.strip())

# partition 左往右以itcast为切割点分成三段以元组返回
mystr = "hello world itcast and itcastxxxppp"
print(mystr.partition("itcast"))
# rpartition 右往左以itcast为切割点分成三段以元组返回
print(mystr.rpartition("itcast"))

print(name.splitlines())

byn = input("请输入一个选项(1-9)：")
if byn.isalpha():
    print("是字母")
elif byn.isdigit():
    print("是数字")
elif byn.isalnum(): # 如果你这个字符里面有数字和字母就返回True
    print("数字+字母")

d = "   "
print(print(d.isspace()))

# join 字符串拼接
a = ["aa","vv","cc"]
v = "="
print(v.join(a))

# 想一想
# 给定一个字符串aStr返回使用空格或者‘\t’分割后的倒数第二个子串
testStr = "hah nihao a \t heihei \t woshi nide \t hao \npengyou"
print(testStr.split("\t\n")) # 错误处理方式
print(testStr.split()) # 直接替换里面的空格以及换行符
result = testStr.split()
print("".join(result))
'''
'''
# append 和extend的区别
a = [11,22,33]
b = [44,55]
a.extend(b)
print(a) # [11, 22, 33, 44, 55] 合并两个列表，而且extend只能添加列表合并
a.append(b)
print(a) # [11, 22, 33, 44, 55, [44, 55]] 相当于把b当做一个整体添加至a中
'''
# append的注意点

a = [11,22,33]
b = [44,55]
a = a.append(b) # 这个过程是没有结果的，所以为None
print(a) # None